package com.school.service;


import com.alibaba.fastjson.JSONObject;
import com.school.entity.RealisticRecord;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;


public interface RealisticRecordService {
    // 新增
    RealisticRecord addRealisticRecord(List<MultipartFile> fileList, RealisticRecord realisticRecord) throws IOException;
    // 写实记录信息查询所有
    List<RealisticRecord> findAll(RealisticRecord realisticRecord);
    // 更新
    RealisticRecord updateRealisticRecord(RealisticRecord realisticRecord);
    // 根据ID查看详情
    RealisticRecord getDetailsById(String id);
    // 根据ID删除
    void deleteRealisticRecord(String id);
    // 根据ID批量删除
    void deleteRealisticRecordList(String idList);
    // 分页查询
    Page<RealisticRecord> specificPageQueryRealisticRecordList(RealisticRecord realisticRecord,int page, int size);
    // 审核状态变更
    void updateAudit(String id, int audit);
    // 查询不同状态下的信息
    List<RealisticRecord> findListByAuditStatus(int audit);
    // 事实材料上传
    JSONObject updateFile(List<MultipartFile> fileList, String path) throws IOException;
    // 审核状态批量变更
    void updateAuditList(List<String> idList,int auditList);
    // 查询除了待确认以外的写实记录信息
    Page<RealisticRecord> findExceptList(int page, int size);
    // 写实记录驳回原因信息更新
    RealisticRecord updateRejectionReason(String id, String rejectionReason);
    // 写实记录信息数据公示展示
    Page<RealisticRecord> findDisplayList(RealisticRecord realisticRecord,int page, int size);
    // 根据学校ID和班级ID查询所有
    List<RealisticRecord> findAllBySchoolIdAndClassId(Integer schoolId, Integer classId);
}
